// 封装队列类
function Queue() {
  // 属性
  this.items = [];

  // 队列相关操作方法
  // 1. 将元素加入到队列中
  Queue.prototype.enqueue = (element) => this.items.push(element);

  // 2. 在队列中删除前端元素
  Queue.prototype.dequeue = () => this.items.shift();

  // 3. 查看前端元素
  Queue.prototype.front = () => this.items[0];

  // 4. 查看队列是否为空
  Queue.prototype.isEmpty = () => !this.items.length;

  // 5. toString方法
  Queue.prototype.toString = () => {
    let resultString = "";
    for (let i = 0; i < this.items.length; i++) {
      resultString += this.items[i] + " ";
    }
    return resultString;
  };
}


// 使用队列
const queue = new Queue();

queue.enqueue(12);
queue.enqueue(22);
queue.enqueue(32);
queue.enqueue(42);

console.log(queue.toString());

// 从队列前端删除两个元素
queue.dequeue();
queue.dequeue();

console.log(queue.toString());

// 查看队列的前端元素
console.log(queue.front());

// 查看队列是否为空
console.log(queue.isEmpty());
